package br.com.fsa.aplication.Model;

import java.io.Serializable;
import java.util.ArrayList;

import br.com.fsa.aplication.Model.bean.VeiculoStatus;

public abstract class VeiculoVO implements Serializable {
	
	private static final long serialVersionUID = 6621508197267761865L;
	private Long veiculoID;
	private String placa;
	private Integer capacidade;
	private VeiculoStatus disponivel;
	private ArrayList<ConhecimentoVO> listaConhecimento;
	
	public void addConhecimento( ConhecimentoVO _conhecimento )
	{
		if ( listaConhecimento == null )
		{
			listaConhecimento = new ArrayList<ConhecimentoVO>();			
		}		
		listaConhecimento.add(_conhecimento);
	}
	
	public ArrayList<ConhecimentoVO> getListaConhecimento() {
		return listaConhecimento;
	}
	public void setListaConhecimento(ArrayList<ConhecimentoVO> listaConhecimento) {
		this.listaConhecimento = listaConhecimento;
	}
	
	public Long getVeiculoID() {
		return veiculoID;
	}

	public void setVeiculoID(Long veiculoID) {
		this.veiculoID = veiculoID;
	}

	public String getPlaca() {
		return placa;
	}
	public void setPlaca(String placa) {
		this.placa = placa;
	}
	public Integer getCapacidade() {
		return capacidade;
	}
	public void setCapacidade(Integer capacidade) {
		this.capacidade = capacidade;
	}
	public VeiculoStatus getDisponivel() {
		return disponivel;
	}
	public void setDisponivel(VeiculoStatus disponivel) {
		this.disponivel = disponivel;
	}
	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((veiculoID == null) ? 0 : veiculoID.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		VeiculoVO other = (VeiculoVO) obj;
		if (veiculoID == null) {
			if (other.veiculoID != null)
				return false;
		} else if (!veiculoID.equals(other.veiculoID))
			return false;
		return true;
	}
	
	
}
